﻿// StressClient.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//
#include "pch.h"
#include "StressMain.h"
#include "StressFactory.h"
#include <iostream>

#ifdef _DEBUG
#ifndef _WIN64
#pragma comment(lib,".\\..\\Debug\\common.lib")
#else
#pragma comment(lib, ".\\..\\X64\\Debug\\common.lib")
#endif // _WIN32

#else
#ifndef _WIN64
#pragma comment(lib, ".\\..\\release\\common.lib")
#else
#pragma comment(lib, ".\\..\\X64\\release\\common.lib")
#endif // _WIN32
#endif

Reactor* rec = NULL;
StressFactory* stressfc = NULL;

int StressClientRun(char *stressIp, short stressPort, short listenPort)
{
	if (rec == NULL)
	{
		rec = new Reactor();
		IOCPServerStart(rec);
	}
	if (NULL == stressfc)
	{
		stressfc = new StressFactory();
		stressfc->reactor = rec;
	}
	stressfc->StressServerIp = string(stressIp);
	stressfc->StressServerPort = stressPort;
	stressfc->ServerPort = listenPort;
	IOCPFactoryRun(stressfc);
	return 0;
}

int StressClientStop()
{
	IOCPFactoryStop(stressfc);
	//IOCPServerStop(stressfc);
	//delete stressfc;
	return 0;
}

// 运行程序: Ctrl + F5 或调试 >“开始执行(不调试)”菜单
// 调试程序: F5 或调试 >“开始调试”菜单

// 入门提示: 
//   1. 使用解决方案资源管理器窗口添加/管理文件
//   2. 使用团队资源管理器窗口连接到源代码管理
//   3. 使用输出窗口查看生成输出和其他消息
//   4. 使用错误列表窗口查看错误
//   5. 转到“项目”>“添加新项”以创建新的代码文件，或转到“项目”>“添加现有项”以将现有代码文件添加到项目
//   6. 将来，若要再次打开此项目，请转到“文件”>“打开”>“项目”并选择 .sln 文件